package com.crm.model.entity.exchange;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class CustomerChangeCourseRecordExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public CustomerChangeCourseRecordExample() {
        oredCriteria = new ArrayList<>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andChangeCourseIdIsNull() {
            addCriterion("change_course_id is null");
            return (Criteria) this;
        }

        public Criteria andChangeCourseIdIsNotNull() {
            addCriterion("change_course_id is not null");
            return (Criteria) this;
        }

        public Criteria andChangeCourseIdEqualTo(String value) {
            addCriterion("change_course_id =", value, "changeCourseId");
            return (Criteria) this;
        }

        public Criteria andChangeCourseIdNotEqualTo(String value) {
            addCriterion("change_course_id <>", value, "changeCourseId");
            return (Criteria) this;
        }

        public Criteria andChangeCourseIdGreaterThan(String value) {
            addCriterion("change_course_id >", value, "changeCourseId");
            return (Criteria) this;
        }

        public Criteria andChangeCourseIdGreaterThanOrEqualTo(String value) {
            addCriterion("change_course_id >=", value, "changeCourseId");
            return (Criteria) this;
        }

        public Criteria andChangeCourseIdLessThan(String value) {
            addCriterion("change_course_id <", value, "changeCourseId");
            return (Criteria) this;
        }

        public Criteria andChangeCourseIdLessThanOrEqualTo(String value) {
            addCriterion("change_course_id <=", value, "changeCourseId");
            return (Criteria) this;
        }

        public Criteria andChangeCourseIdLike(String value) {
            addCriterion("change_course_id like", value, "changeCourseId");
            return (Criteria) this;
        }

        public Criteria andChangeCourseIdNotLike(String value) {
            addCriterion("change_course_id not like", value, "changeCourseId");
            return (Criteria) this;
        }

        public Criteria andChangeCourseIdIn(List<String> values) {
            addCriterion("change_course_id in", values, "changeCourseId");
            return (Criteria) this;
        }

        public Criteria andChangeCourseIdNotIn(List<String> values) {
            addCriterion("change_course_id not in", values, "changeCourseId");
            return (Criteria) this;
        }

        public Criteria andChangeCourseIdBetween(String value1, String value2) {
            addCriterion("change_course_id between", value1, value2, "changeCourseId");
            return (Criteria) this;
        }

        public Criteria andChangeCourseIdNotBetween(String value1, String value2) {
            addCriterion("change_course_id not between", value1, value2, "changeCourseId");
            return (Criteria) this;
        }

        public Criteria andXcchIsNull() {
            addCriterion("xcch is null");
            return (Criteria) this;
        }

        public Criteria andXcchIsNotNull() {
            addCriterion("xcch is not null");
            return (Criteria) this;
        }

        public Criteria andXcchEqualTo(String value) {
            addCriterion("xcch =", value, "xcch");
            return (Criteria) this;
        }

        public Criteria andXcchNotEqualTo(String value) {
            addCriterion("xcch <>", value, "xcch");
            return (Criteria) this;
        }

        public Criteria andXcchGreaterThan(String value) {
            addCriterion("xcch >", value, "xcch");
            return (Criteria) this;
        }

        public Criteria andXcchGreaterThanOrEqualTo(String value) {
            addCriterion("xcch >=", value, "xcch");
            return (Criteria) this;
        }

        public Criteria andXcchLessThan(String value) {
            addCriterion("xcch <", value, "xcch");
            return (Criteria) this;
        }

        public Criteria andXcchLessThanOrEqualTo(String value) {
            addCriterion("xcch <=", value, "xcch");
            return (Criteria) this;
        }

        public Criteria andXcchLike(String value) {
            addCriterion("xcch like", value, "xcch");
            return (Criteria) this;
        }

        public Criteria andXcchNotLike(String value) {
            addCriterion("xcch not like", value, "xcch");
            return (Criteria) this;
        }

        public Criteria andXcchIn(List<String> values) {
            addCriterion("xcch in", values, "xcch");
            return (Criteria) this;
        }

        public Criteria andXcchNotIn(List<String> values) {
            addCriterion("xcch not in", values, "xcch");
            return (Criteria) this;
        }

        public Criteria andXcchBetween(String value1, String value2) {
            addCriterion("xcch between", value1, value2, "xcch");
            return (Criteria) this;
        }

        public Criteria andXcchNotBetween(String value1, String value2) {
            addCriterion("xcch not between", value1, value2, "xcch");
            return (Criteria) this;
        }

        public Criteria andHyhsycsIsNull() {
            addCriterion("hyhsycs is null");
            return (Criteria) this;
        }

        public Criteria andHyhsycsIsNotNull() {
            addCriterion("hyhsycs is not null");
            return (Criteria) this;
        }

        public Criteria andHyhsycsEqualTo(String value) {
            addCriterion("hyhsycs =", value, "hyhsycs");
            return (Criteria) this;
        }

        public Criteria andHyhsycsNotEqualTo(String value) {
            addCriterion("hyhsycs <>", value, "hyhsycs");
            return (Criteria) this;
        }

        public Criteria andHyhsycsGreaterThan(String value) {
            addCriterion("hyhsycs >", value, "hyhsycs");
            return (Criteria) this;
        }

        public Criteria andHyhsycsGreaterThanOrEqualTo(String value) {
            addCriterion("hyhsycs >=", value, "hyhsycs");
            return (Criteria) this;
        }

        public Criteria andHyhsycsLessThan(String value) {
            addCriterion("hyhsycs <", value, "hyhsycs");
            return (Criteria) this;
        }

        public Criteria andHyhsycsLessThanOrEqualTo(String value) {
            addCriterion("hyhsycs <=", value, "hyhsycs");
            return (Criteria) this;
        }

        public Criteria andHyhsycsLike(String value) {
            addCriterion("hyhsycs like", value, "hyhsycs");
            return (Criteria) this;
        }

        public Criteria andHyhsycsNotLike(String value) {
            addCriterion("hyhsycs not like", value, "hyhsycs");
            return (Criteria) this;
        }

        public Criteria andHyhsycsIn(List<String> values) {
            addCriterion("hyhsycs in", values, "hyhsycs");
            return (Criteria) this;
        }

        public Criteria andHyhsycsNotIn(List<String> values) {
            addCriterion("hyhsycs not in", values, "hyhsycs");
            return (Criteria) this;
        }

        public Criteria andHyhsycsBetween(String value1, String value2) {
            addCriterion("hyhsycs between", value1, value2, "hyhsycs");
            return (Criteria) this;
        }

        public Criteria andHyhsycsNotBetween(String value1, String value2) {
            addCriterion("hyhsycs not between", value1, value2, "hyhsycs");
            return (Criteria) this;
        }

        public Criteria andXcchKcIsNull() {
            addCriterion("xcch_kc is null");
            return (Criteria) this;
        }

        public Criteria andXcchKcIsNotNull() {
            addCriterion("xcch_kc is not null");
            return (Criteria) this;
        }

        public Criteria andXcchKcEqualTo(String value) {
            addCriterion("xcch_kc =", value, "xcchKc");
            return (Criteria) this;
        }

        public Criteria andXcchKcNotEqualTo(String value) {
            addCriterion("xcch_kc <>", value, "xcchKc");
            return (Criteria) this;
        }

        public Criteria andXcchKcGreaterThan(String value) {
            addCriterion("xcch_kc >", value, "xcchKc");
            return (Criteria) this;
        }

        public Criteria andXcchKcGreaterThanOrEqualTo(String value) {
            addCriterion("xcch_kc >=", value, "xcchKc");
            return (Criteria) this;
        }

        public Criteria andXcchKcLessThan(String value) {
            addCriterion("xcch_kc <", value, "xcchKc");
            return (Criteria) this;
        }

        public Criteria andXcchKcLessThanOrEqualTo(String value) {
            addCriterion("xcch_kc <=", value, "xcchKc");
            return (Criteria) this;
        }

        public Criteria andXcchKcLike(String value) {
            addCriterion("xcch_kc like", value, "xcchKc");
            return (Criteria) this;
        }

        public Criteria andXcchKcNotLike(String value) {
            addCriterion("xcch_kc not like", value, "xcchKc");
            return (Criteria) this;
        }

        public Criteria andXcchKcIn(List<String> values) {
            addCriterion("xcch_kc in", values, "xcchKc");
            return (Criteria) this;
        }

        public Criteria andXcchKcNotIn(List<String> values) {
            addCriterion("xcch_kc not in", values, "xcchKc");
            return (Criteria) this;
        }

        public Criteria andXcchKcBetween(String value1, String value2) {
            addCriterion("xcch_kc between", value1, value2, "xcchKc");
            return (Criteria) this;
        }

        public Criteria andXcchKcNotBetween(String value1, String value2) {
            addCriterion("xcch_kc not between", value1, value2, "xcchKc");
            return (Criteria) this;
        }

        public Criteria andHyhsycsKcIsNull() {
            addCriterion("hyhsycs_kc is null");
            return (Criteria) this;
        }

        public Criteria andHyhsycsKcIsNotNull() {
            addCriterion("hyhsycs_kc is not null");
            return (Criteria) this;
        }

        public Criteria andHyhsycsKcEqualTo(String value) {
            addCriterion("hyhsycs_kc =", value, "hyhsycsKc");
            return (Criteria) this;
        }

        public Criteria andHyhsycsKcNotEqualTo(String value) {
            addCriterion("hyhsycs_kc <>", value, "hyhsycsKc");
            return (Criteria) this;
        }

        public Criteria andHyhsycsKcGreaterThan(String value) {
            addCriterion("hyhsycs_kc >", value, "hyhsycsKc");
            return (Criteria) this;
        }

        public Criteria andHyhsycsKcGreaterThanOrEqualTo(String value) {
            addCriterion("hyhsycs_kc >=", value, "hyhsycsKc");
            return (Criteria) this;
        }

        public Criteria andHyhsycsKcLessThan(String value) {
            addCriterion("hyhsycs_kc <", value, "hyhsycsKc");
            return (Criteria) this;
        }

        public Criteria andHyhsycsKcLessThanOrEqualTo(String value) {
            addCriterion("hyhsycs_kc <=", value, "hyhsycsKc");
            return (Criteria) this;
        }

        public Criteria andHyhsycsKcLike(String value) {
            addCriterion("hyhsycs_kc like", value, "hyhsycsKc");
            return (Criteria) this;
        }

        public Criteria andHyhsycsKcNotLike(String value) {
            addCriterion("hyhsycs_kc not like", value, "hyhsycsKc");
            return (Criteria) this;
        }

        public Criteria andHyhsycsKcIn(List<String> values) {
            addCriterion("hyhsycs_kc in", values, "hyhsycsKc");
            return (Criteria) this;
        }

        public Criteria andHyhsycsKcNotIn(List<String> values) {
            addCriterion("hyhsycs_kc not in", values, "hyhsycsKc");
            return (Criteria) this;
        }

        public Criteria andHyhsycsKcBetween(String value1, String value2) {
            addCriterion("hyhsycs_kc between", value1, value2, "hyhsycsKc");
            return (Criteria) this;
        }

        public Criteria andHyhsycsKcNotBetween(String value1, String value2) {
            addCriterion("hyhsycs_kc not between", value1, value2, "hyhsycsKc");
            return (Criteria) this;
        }

        public Criteria andMemberCardNumberIsNull() {
            addCriterion("member_card_number is null");
            return (Criteria) this;
        }

        public Criteria andMemberCardNumberIsNotNull() {
            addCriterion("member_card_number is not null");
            return (Criteria) this;
        }

        public Criteria andMemberCardNumberEqualTo(String value) {
            addCriterion("member_card_number =", value, "memberCardNumber");
            return (Criteria) this;
        }

        public Criteria andMemberCardNumberNotEqualTo(String value) {
            addCriterion("member_card_number <>", value, "memberCardNumber");
            return (Criteria) this;
        }

        public Criteria andMemberCardNumberGreaterThan(String value) {
            addCriterion("member_card_number >", value, "memberCardNumber");
            return (Criteria) this;
        }

        public Criteria andMemberCardNumberGreaterThanOrEqualTo(String value) {
            addCriterion("member_card_number >=", value, "memberCardNumber");
            return (Criteria) this;
        }

        public Criteria andMemberCardNumberLessThan(String value) {
            addCriterion("member_card_number <", value, "memberCardNumber");
            return (Criteria) this;
        }

        public Criteria andMemberCardNumberLessThanOrEqualTo(String value) {
            addCriterion("member_card_number <=", value, "memberCardNumber");
            return (Criteria) this;
        }

        public Criteria andMemberCardNumberLike(String value) {
            addCriterion("member_card_number like", value, "memberCardNumber");
            return (Criteria) this;
        }

        public Criteria andMemberCardNumberNotLike(String value) {
            addCriterion("member_card_number not like", value, "memberCardNumber");
            return (Criteria) this;
        }

        public Criteria andMemberCardNumberIn(List<String> values) {
            addCriterion("member_card_number in", values, "memberCardNumber");
            return (Criteria) this;
        }

        public Criteria andMemberCardNumberNotIn(List<String> values) {
            addCriterion("member_card_number not in", values, "memberCardNumber");
            return (Criteria) this;
        }

        public Criteria andMemberCardNumberBetween(String value1, String value2) {
            addCriterion("member_card_number between", value1, value2, "memberCardNumber");
            return (Criteria) this;
        }

        public Criteria andMemberCardNumberNotBetween(String value1, String value2) {
            addCriterion("member_card_number not between", value1, value2, "memberCardNumber");
            return (Criteria) this;
        }

        public Criteria andCustomerProductDetailMemberCardIdIsNull() {
            addCriterion("customer_product_detail_member_card_id is null");
            return (Criteria) this;
        }

        public Criteria andCustomerProductDetailMemberCardIdIsNotNull() {
            addCriterion("customer_product_detail_member_card_id is not null");
            return (Criteria) this;
        }

        public Criteria andCustomerProductDetailMemberCardIdEqualTo(String value) {
            addCriterion("customer_product_detail_member_card_id =", value, "customerProductDetailMemberCardId");
            return (Criteria) this;
        }

        public Criteria andCustomerProductDetailMemberCardIdNotEqualTo(String value) {
            addCriterion("customer_product_detail_member_card_id <>", value, "customerProductDetailMemberCardId");
            return (Criteria) this;
        }

        public Criteria andCustomerProductDetailMemberCardIdGreaterThan(String value) {
            addCriterion("customer_product_detail_member_card_id >", value, "customerProductDetailMemberCardId");
            return (Criteria) this;
        }

        public Criteria andCustomerProductDetailMemberCardIdGreaterThanOrEqualTo(String value) {
            addCriterion("customer_product_detail_member_card_id >=", value, "customerProductDetailMemberCardId");
            return (Criteria) this;
        }

        public Criteria andCustomerProductDetailMemberCardIdLessThan(String value) {
            addCriterion("customer_product_detail_member_card_id <", value, "customerProductDetailMemberCardId");
            return (Criteria) this;
        }

        public Criteria andCustomerProductDetailMemberCardIdLessThanOrEqualTo(String value) {
            addCriterion("customer_product_detail_member_card_id <=", value, "customerProductDetailMemberCardId");
            return (Criteria) this;
        }

        public Criteria andCustomerProductDetailMemberCardIdLike(String value) {
            addCriterion("customer_product_detail_member_card_id like", value, "customerProductDetailMemberCardId");
            return (Criteria) this;
        }

        public Criteria andCustomerProductDetailMemberCardIdNotLike(String value) {
            addCriterion("customer_product_detail_member_card_id not like", value, "customerProductDetailMemberCardId");
            return (Criteria) this;
        }

        public Criteria andCustomerProductDetailMemberCardIdIn(List<String> values) {
            addCriterion("customer_product_detail_member_card_id in", values, "customerProductDetailMemberCardId");
            return (Criteria) this;
        }

        public Criteria andCustomerProductDetailMemberCardIdNotIn(List<String> values) {
            addCriterion("customer_product_detail_member_card_id not in", values, "customerProductDetailMemberCardId");
            return (Criteria) this;
        }

        public Criteria andCustomerProductDetailMemberCardIdBetween(String value1, String value2) {
            addCriterion("customer_product_detail_member_card_id between", value1, value2, "customerProductDetailMemberCardId");
            return (Criteria) this;
        }

        public Criteria andCustomerProductDetailMemberCardIdNotBetween(String value1, String value2) {
            addCriterion("customer_product_detail_member_card_id not between", value1, value2, "customerProductDetailMemberCardId");
            return (Criteria) this;
        }

        public Criteria andUserNameIsNull() {
            addCriterion("user_name is null");
            return (Criteria) this;
        }

        public Criteria andUserNameIsNotNull() {
            addCriterion("user_name is not null");
            return (Criteria) this;
        }

        public Criteria andUserNameEqualTo(String value) {
            addCriterion("user_name =", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameNotEqualTo(String value) {
            addCriterion("user_name <>", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameGreaterThan(String value) {
            addCriterion("user_name >", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameGreaterThanOrEqualTo(String value) {
            addCriterion("user_name >=", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameLessThan(String value) {
            addCriterion("user_name <", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameLessThanOrEqualTo(String value) {
            addCriterion("user_name <=", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameLike(String value) {
            addCriterion("user_name like", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameNotLike(String value) {
            addCriterion("user_name not like", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameIn(List<String> values) {
            addCriterion("user_name in", values, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameNotIn(List<String> values) {
            addCriterion("user_name not in", values, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameBetween(String value1, String value2) {
            addCriterion("user_name between", value1, value2, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameNotBetween(String value1, String value2) {
            addCriterion("user_name not between", value1, value2, "userName");
            return (Criteria) this;
        }

        public Criteria andCreateTmIsNull() {
            addCriterion("create_tm is null");
            return (Criteria) this;
        }

        public Criteria andCreateTmIsNotNull() {
            addCriterion("create_tm is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTmEqualTo(Date value) {
            addCriterion("create_tm =", value, "createTm");
            return (Criteria) this;
        }

        public Criteria andCreateTmNotEqualTo(Date value) {
            addCriterion("create_tm <>", value, "createTm");
            return (Criteria) this;
        }

        public Criteria andCreateTmGreaterThan(Date value) {
            addCriterion("create_tm >", value, "createTm");
            return (Criteria) this;
        }

        public Criteria andCreateTmGreaterThanOrEqualTo(Date value) {
            addCriterion("create_tm >=", value, "createTm");
            return (Criteria) this;
        }

        public Criteria andCreateTmLessThan(Date value) {
            addCriterion("create_tm <", value, "createTm");
            return (Criteria) this;
        }

        public Criteria andCreateTmLessThanOrEqualTo(Date value) {
            addCriterion("create_tm <=", value, "createTm");
            return (Criteria) this;
        }

        public Criteria andCreateTmIn(List<Date> values) {
            addCriterion("create_tm in", values, "createTm");
            return (Criteria) this;
        }

        public Criteria andCreateTmNotIn(List<Date> values) {
            addCriterion("create_tm not in", values, "createTm");
            return (Criteria) this;
        }

        public Criteria andCreateTmBetween(Date value1, Date value2) {
            addCriterion("create_tm between", value1, value2, "createTm");
            return (Criteria) this;
        }

        public Criteria andCreateTmNotBetween(Date value1, Date value2) {
            addCriterion("create_tm not between", value1, value2, "createTm");
            return (Criteria) this;
        }

        public Criteria andUpdateTmIsNull() {
            addCriterion("update_tm is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTmIsNotNull() {
            addCriterion("update_tm is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTmEqualTo(Date value) {
            addCriterion("update_tm =", value, "updateTm");
            return (Criteria) this;
        }

        public Criteria andUpdateTmNotEqualTo(Date value) {
            addCriterion("update_tm <>", value, "updateTm");
            return (Criteria) this;
        }

        public Criteria andUpdateTmGreaterThan(Date value) {
            addCriterion("update_tm >", value, "updateTm");
            return (Criteria) this;
        }

        public Criteria andUpdateTmGreaterThanOrEqualTo(Date value) {
            addCriterion("update_tm >=", value, "updateTm");
            return (Criteria) this;
        }

        public Criteria andUpdateTmLessThan(Date value) {
            addCriterion("update_tm <", value, "updateTm");
            return (Criteria) this;
        }

        public Criteria andUpdateTmLessThanOrEqualTo(Date value) {
            addCriterion("update_tm <=", value, "updateTm");
            return (Criteria) this;
        }

        public Criteria andUpdateTmIn(List<Date> values) {
            addCriterion("update_tm in", values, "updateTm");
            return (Criteria) this;
        }

        public Criteria andUpdateTmNotIn(List<Date> values) {
            addCriterion("update_tm not in", values, "updateTm");
            return (Criteria) this;
        }

        public Criteria andUpdateTmBetween(Date value1, Date value2) {
            addCriterion("update_tm between", value1, value2, "updateTm");
            return (Criteria) this;
        }

        public Criteria andUpdateTmNotBetween(Date value1, Date value2) {
            addCriterion("update_tm not between", value1, value2, "updateTm");
            return (Criteria) this;
        }

        public Criteria andChangeCourseTitleIsNull() {
            addCriterion("change_course_title is null");
            return (Criteria) this;
        }

        public Criteria andChangeCourseTitleIsNotNull() {
            addCriterion("change_course_title is not null");
            return (Criteria) this;
        }

        public Criteria andChangeCourseTitleEqualTo(String value) {
            addCriterion("change_course_title =", value, "changeCourseTitle");
            return (Criteria) this;
        }

        public Criteria andChangeCourseTitleNotEqualTo(String value) {
            addCriterion("change_course_title <>", value, "changeCourseTitle");
            return (Criteria) this;
        }

        public Criteria andChangeCourseTitleGreaterThan(String value) {
            addCriterion("change_course_title >", value, "changeCourseTitle");
            return (Criteria) this;
        }

        public Criteria andChangeCourseTitleGreaterThanOrEqualTo(String value) {
            addCriterion("change_course_title >=", value, "changeCourseTitle");
            return (Criteria) this;
        }

        public Criteria andChangeCourseTitleLessThan(String value) {
            addCriterion("change_course_title <", value, "changeCourseTitle");
            return (Criteria) this;
        }

        public Criteria andChangeCourseTitleLessThanOrEqualTo(String value) {
            addCriterion("change_course_title <=", value, "changeCourseTitle");
            return (Criteria) this;
        }

        public Criteria andChangeCourseTitleLike(String value) {
            addCriterion("change_course_title like", value, "changeCourseTitle");
            return (Criteria) this;
        }

        public Criteria andChangeCourseTitleNotLike(String value) {
            addCriterion("change_course_title not like", value, "changeCourseTitle");
            return (Criteria) this;
        }

        public Criteria andChangeCourseTitleIn(List<String> values) {
            addCriterion("change_course_title in", values, "changeCourseTitle");
            return (Criteria) this;
        }

        public Criteria andChangeCourseTitleNotIn(List<String> values) {
            addCriterion("change_course_title not in", values, "changeCourseTitle");
            return (Criteria) this;
        }

        public Criteria andChangeCourseTitleBetween(String value1, String value2) {
            addCriterion("change_course_title between", value1, value2, "changeCourseTitle");
            return (Criteria) this;
        }

        public Criteria andChangeCourseTitleNotBetween(String value1, String value2) {
            addCriterion("change_course_title not between", value1, value2, "changeCourseTitle");
            return (Criteria) this;
        }

        public Criteria andCourseProductCodeIsNull() {
            addCriterion("course_product_code is null");
            return (Criteria) this;
        }

        public Criteria andCourseProductCodeIsNotNull() {
            addCriterion("course_product_code is not null");
            return (Criteria) this;
        }

        public Criteria andCourseProductCodeEqualTo(String value) {
            addCriterion("course_product_code =", value, "courseProductCode");
            return (Criteria) this;
        }

        public Criteria andCourseProductCodeNotEqualTo(String value) {
            addCriterion("course_product_code <>", value, "courseProductCode");
            return (Criteria) this;
        }

        public Criteria andCourseProductCodeGreaterThan(String value) {
            addCriterion("course_product_code >", value, "courseProductCode");
            return (Criteria) this;
        }

        public Criteria andCourseProductCodeGreaterThanOrEqualTo(String value) {
            addCriterion("course_product_code >=", value, "courseProductCode");
            return (Criteria) this;
        }

        public Criteria andCourseProductCodeLessThan(String value) {
            addCriterion("course_product_code <", value, "courseProductCode");
            return (Criteria) this;
        }

        public Criteria andCourseProductCodeLessThanOrEqualTo(String value) {
            addCriterion("course_product_code <=", value, "courseProductCode");
            return (Criteria) this;
        }

        public Criteria andCourseProductCodeLike(String value) {
            addCriterion("course_product_code like", value, "courseProductCode");
            return (Criteria) this;
        }

        public Criteria andCourseProductCodeNotLike(String value) {
            addCriterion("course_product_code not like", value, "courseProductCode");
            return (Criteria) this;
        }

        public Criteria andCourseProductCodeIn(List<String> values) {
            addCriterion("course_product_code in", values, "courseProductCode");
            return (Criteria) this;
        }

        public Criteria andCourseProductCodeNotIn(List<String> values) {
            addCriterion("course_product_code not in", values, "courseProductCode");
            return (Criteria) this;
        }

        public Criteria andCourseProductCodeBetween(String value1, String value2) {
            addCriterion("course_product_code between", value1, value2, "courseProductCode");
            return (Criteria) this;
        }

        public Criteria andCourseProductCodeNotBetween(String value1, String value2) {
            addCriterion("course_product_code not between", value1, value2, "courseProductCode");
            return (Criteria) this;
        }

        public Criteria andProductOrderIdIsNull() {
            addCriterion("product_order_id is null");
            return (Criteria) this;
        }

        public Criteria andProductOrderIdIsNotNull() {
            addCriterion("product_order_id is not null");
            return (Criteria) this;
        }

        public Criteria andProductOrderIdEqualTo(String value) {
            addCriterion("product_order_id =", value, "productOrderId");
            return (Criteria) this;
        }

        public Criteria andProductOrderIdNotEqualTo(String value) {
            addCriterion("product_order_id <>", value, "productOrderId");
            return (Criteria) this;
        }

        public Criteria andProductOrderIdGreaterThan(String value) {
            addCriterion("product_order_id >", value, "productOrderId");
            return (Criteria) this;
        }

        public Criteria andProductOrderIdGreaterThanOrEqualTo(String value) {
            addCriterion("product_order_id >=", value, "productOrderId");
            return (Criteria) this;
        }

        public Criteria andProductOrderIdLessThan(String value) {
            addCriterion("product_order_id <", value, "productOrderId");
            return (Criteria) this;
        }

        public Criteria andProductOrderIdLessThanOrEqualTo(String value) {
            addCriterion("product_order_id <=", value, "productOrderId");
            return (Criteria) this;
        }

        public Criteria andProductOrderIdLike(String value) {
            addCriterion("product_order_id like", value, "productOrderId");
            return (Criteria) this;
        }

        public Criteria andProductOrderIdNotLike(String value) {
            addCriterion("product_order_id not like", value, "productOrderId");
            return (Criteria) this;
        }

        public Criteria andProductOrderIdIn(List<String> values) {
            addCriterion("product_order_id in", values, "productOrderId");
            return (Criteria) this;
        }

        public Criteria andProductOrderIdNotIn(List<String> values) {
            addCriterion("product_order_id not in", values, "productOrderId");
            return (Criteria) this;
        }

        public Criteria andProductOrderIdBetween(String value1, String value2) {
            addCriterion("product_order_id between", value1, value2, "productOrderId");
            return (Criteria) this;
        }

        public Criteria andProductOrderIdNotBetween(String value1, String value2) {
            addCriterion("product_order_id not between", value1, value2, "productOrderId");
            return (Criteria) this;
        }

        public Criteria andContractIdIsNull() {
            addCriterion("contract_id is null");
            return (Criteria) this;
        }

        public Criteria andContractIdIsNotNull() {
            addCriterion("contract_id is not null");
            return (Criteria) this;
        }

        public Criteria andContractIdEqualTo(String value) {
            addCriterion("contract_id =", value, "contractId");
            return (Criteria) this;
        }

        public Criteria andContractIdNotEqualTo(String value) {
            addCriterion("contract_id <>", value, "contractId");
            return (Criteria) this;
        }

        public Criteria andContractIdGreaterThan(String value) {
            addCriterion("contract_id >", value, "contractId");
            return (Criteria) this;
        }

        public Criteria andContractIdGreaterThanOrEqualTo(String value) {
            addCriterion("contract_id >=", value, "contractId");
            return (Criteria) this;
        }

        public Criteria andContractIdLessThan(String value) {
            addCriterion("contract_id <", value, "contractId");
            return (Criteria) this;
        }

        public Criteria andContractIdLessThanOrEqualTo(String value) {
            addCriterion("contract_id <=", value, "contractId");
            return (Criteria) this;
        }

        public Criteria andContractIdLike(String value) {
            addCriterion("contract_id like", value, "contractId");
            return (Criteria) this;
        }

        public Criteria andContractIdNotLike(String value) {
            addCriterion("contract_id not like", value, "contractId");
            return (Criteria) this;
        }

        public Criteria andContractIdIn(List<String> values) {
            addCriterion("contract_id in", values, "contractId");
            return (Criteria) this;
        }

        public Criteria andContractIdNotIn(List<String> values) {
            addCriterion("contract_id not in", values, "contractId");
            return (Criteria) this;
        }

        public Criteria andContractIdBetween(String value1, String value2) {
            addCriterion("contract_id between", value1, value2, "contractId");
            return (Criteria) this;
        }

        public Criteria andContractIdNotBetween(String value1, String value2) {
            addCriterion("contract_id not between", value1, value2, "contractId");
            return (Criteria) this;
        }

        public Criteria andAccountIdIsNull() {
            addCriterion("account_id is null");
            return (Criteria) this;
        }

        public Criteria andAccountIdIsNotNull() {
            addCriterion("account_id is not null");
            return (Criteria) this;
        }

        public Criteria andAccountIdEqualTo(String value) {
            addCriterion("account_id =", value, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdNotEqualTo(String value) {
            addCriterion("account_id <>", value, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdGreaterThan(String value) {
            addCriterion("account_id >", value, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdGreaterThanOrEqualTo(String value) {
            addCriterion("account_id >=", value, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdLessThan(String value) {
            addCriterion("account_id <", value, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdLessThanOrEqualTo(String value) {
            addCriterion("account_id <=", value, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdLike(String value) {
            addCriterion("account_id like", value, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdNotLike(String value) {
            addCriterion("account_id not like", value, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdIn(List<String> values) {
            addCriterion("account_id in", values, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdNotIn(List<String> values) {
            addCriterion("account_id not in", values, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdBetween(String value1, String value2) {
            addCriterion("account_id between", value1, value2, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdNotBetween(String value1, String value2) {
            addCriterion("account_id not between", value1, value2, "accountId");
            return (Criteria) this;
        }

        public Criteria andProductCodeIsNull() {
            addCriterion("product_code is null");
            return (Criteria) this;
        }

        public Criteria andProductCodeIsNotNull() {
            addCriterion("product_code is not null");
            return (Criteria) this;
        }

        public Criteria andProductCodeEqualTo(String value) {
            addCriterion("product_code =", value, "productCode");
            return (Criteria) this;
        }

        public Criteria andProductCodeNotEqualTo(String value) {
            addCriterion("product_code <>", value, "productCode");
            return (Criteria) this;
        }

        public Criteria andProductCodeGreaterThan(String value) {
            addCriterion("product_code >", value, "productCode");
            return (Criteria) this;
        }

        public Criteria andProductCodeGreaterThanOrEqualTo(String value) {
            addCriterion("product_code >=", value, "productCode");
            return (Criteria) this;
        }

        public Criteria andProductCodeLessThan(String value) {
            addCriterion("product_code <", value, "productCode");
            return (Criteria) this;
        }

        public Criteria andProductCodeLessThanOrEqualTo(String value) {
            addCriterion("product_code <=", value, "productCode");
            return (Criteria) this;
        }

        public Criteria andProductCodeLike(String value) {
            addCriterion("product_code like", value, "productCode");
            return (Criteria) this;
        }

        public Criteria andProductCodeNotLike(String value) {
            addCriterion("product_code not like", value, "productCode");
            return (Criteria) this;
        }

        public Criteria andProductCodeIn(List<String> values) {
            addCriterion("product_code in", values, "productCode");
            return (Criteria) this;
        }

        public Criteria andProductCodeNotIn(List<String> values) {
            addCriterion("product_code not in", values, "productCode");
            return (Criteria) this;
        }

        public Criteria andProductCodeBetween(String value1, String value2) {
            addCriterion("product_code between", value1, value2, "productCode");
            return (Criteria) this;
        }

        public Criteria andProductCodeNotBetween(String value1, String value2) {
            addCriterion("product_code not between", value1, value2, "productCode");
            return (Criteria) this;
        }

        public Criteria andProductNameIsNull() {
            addCriterion("product_name is null");
            return (Criteria) this;
        }

        public Criteria andProductNameIsNotNull() {
            addCriterion("product_name is not null");
            return (Criteria) this;
        }

        public Criteria andProductNameEqualTo(String value) {
            addCriterion("product_name =", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameNotEqualTo(String value) {
            addCriterion("product_name <>", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameGreaterThan(String value) {
            addCriterion("product_name >", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameGreaterThanOrEqualTo(String value) {
            addCriterion("product_name >=", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameLessThan(String value) {
            addCriterion("product_name <", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameLessThanOrEqualTo(String value) {
            addCriterion("product_name <=", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameLike(String value) {
            addCriterion("product_name like", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameNotLike(String value) {
            addCriterion("product_name not like", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameIn(List<String> values) {
            addCriterion("product_name in", values, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameNotIn(List<String> values) {
            addCriterion("product_name not in", values, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameBetween(String value1, String value2) {
            addCriterion("product_name between", value1, value2, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameNotBetween(String value1, String value2) {
            addCriterion("product_name not between", value1, value2, "productName");
            return (Criteria) this;
        }

        public Criteria andMemberProductCodeIsNull() {
            addCriterion("member_product_code is null");
            return (Criteria) this;
        }

        public Criteria andMemberProductCodeIsNotNull() {
            addCriterion("member_product_code is not null");
            return (Criteria) this;
        }

        public Criteria andMemberProductCodeEqualTo(String value) {
            addCriterion("member_product_code =", value, "memberProductCode");
            return (Criteria) this;
        }

        public Criteria andMemberProductCodeNotEqualTo(String value) {
            addCriterion("member_product_code <>", value, "memberProductCode");
            return (Criteria) this;
        }

        public Criteria andMemberProductCodeGreaterThan(String value) {
            addCriterion("member_product_code >", value, "memberProductCode");
            return (Criteria) this;
        }

        public Criteria andMemberProductCodeGreaterThanOrEqualTo(String value) {
            addCriterion("member_product_code >=", value, "memberProductCode");
            return (Criteria) this;
        }

        public Criteria andMemberProductCodeLessThan(String value) {
            addCriterion("member_product_code <", value, "memberProductCode");
            return (Criteria) this;
        }

        public Criteria andMemberProductCodeLessThanOrEqualTo(String value) {
            addCriterion("member_product_code <=", value, "memberProductCode");
            return (Criteria) this;
        }

        public Criteria andMemberProductCodeLike(String value) {
            addCriterion("member_product_code like", value, "memberProductCode");
            return (Criteria) this;
        }

        public Criteria andMemberProductCodeNotLike(String value) {
            addCriterion("member_product_code not like", value, "memberProductCode");
            return (Criteria) this;
        }

        public Criteria andMemberProductCodeIn(List<String> values) {
            addCriterion("member_product_code in", values, "memberProductCode");
            return (Criteria) this;
        }

        public Criteria andMemberProductCodeNotIn(List<String> values) {
            addCriterion("member_product_code not in", values, "memberProductCode");
            return (Criteria) this;
        }

        public Criteria andMemberProductCodeBetween(String value1, String value2) {
            addCriterion("member_product_code between", value1, value2, "memberProductCode");
            return (Criteria) this;
        }

        public Criteria andMemberProductCodeNotBetween(String value1, String value2) {
            addCriterion("member_product_code not between", value1, value2, "memberProductCode");
            return (Criteria) this;
        }

        public Criteria andRuleNumberIsNull() {
            addCriterion("rule_number is null");
            return (Criteria) this;
        }

        public Criteria andRuleNumberIsNotNull() {
            addCriterion("rule_number is not null");
            return (Criteria) this;
        }

        public Criteria andRuleNumberEqualTo(String value) {
            addCriterion("rule_number =", value, "ruleNumber");
            return (Criteria) this;
        }

        public Criteria andRuleNumberNotEqualTo(String value) {
            addCriterion("rule_number <>", value, "ruleNumber");
            return (Criteria) this;
        }

        public Criteria andRuleNumberGreaterThan(String value) {
            addCriterion("rule_number >", value, "ruleNumber");
            return (Criteria) this;
        }

        public Criteria andRuleNumberGreaterThanOrEqualTo(String value) {
            addCriterion("rule_number >=", value, "ruleNumber");
            return (Criteria) this;
        }

        public Criteria andRuleNumberLessThan(String value) {
            addCriterion("rule_number <", value, "ruleNumber");
            return (Criteria) this;
        }

        public Criteria andRuleNumberLessThanOrEqualTo(String value) {
            addCriterion("rule_number <=", value, "ruleNumber");
            return (Criteria) this;
        }

        public Criteria andRuleNumberLike(String value) {
            addCriterion("rule_number like", value, "ruleNumber");
            return (Criteria) this;
        }

        public Criteria andRuleNumberNotLike(String value) {
            addCriterion("rule_number not like", value, "ruleNumber");
            return (Criteria) this;
        }

        public Criteria andRuleNumberIn(List<String> values) {
            addCriterion("rule_number in", values, "ruleNumber");
            return (Criteria) this;
        }

        public Criteria andRuleNumberNotIn(List<String> values) {
            addCriterion("rule_number not in", values, "ruleNumber");
            return (Criteria) this;
        }

        public Criteria andRuleNumberBetween(String value1, String value2) {
            addCriterion("rule_number between", value1, value2, "ruleNumber");
            return (Criteria) this;
        }

        public Criteria andRuleNumberNotBetween(String value1, String value2) {
            addCriterion("rule_number not between", value1, value2, "ruleNumber");
            return (Criteria) this;
        }

        public Criteria andRuleTitleIsNull() {
            addCriterion("rule_title is null");
            return (Criteria) this;
        }

        public Criteria andRuleTitleIsNotNull() {
            addCriterion("rule_title is not null");
            return (Criteria) this;
        }

        public Criteria andRuleTitleEqualTo(String value) {
            addCriterion("rule_title =", value, "ruleTitle");
            return (Criteria) this;
        }

        public Criteria andRuleTitleNotEqualTo(String value) {
            addCriterion("rule_title <>", value, "ruleTitle");
            return (Criteria) this;
        }

        public Criteria andRuleTitleGreaterThan(String value) {
            addCriterion("rule_title >", value, "ruleTitle");
            return (Criteria) this;
        }

        public Criteria andRuleTitleGreaterThanOrEqualTo(String value) {
            addCriterion("rule_title >=", value, "ruleTitle");
            return (Criteria) this;
        }

        public Criteria andRuleTitleLessThan(String value) {
            addCriterion("rule_title <", value, "ruleTitle");
            return (Criteria) this;
        }

        public Criteria andRuleTitleLessThanOrEqualTo(String value) {
            addCriterion("rule_title <=", value, "ruleTitle");
            return (Criteria) this;
        }

        public Criteria andRuleTitleLike(String value) {
            addCriterion("rule_title like", value, "ruleTitle");
            return (Criteria) this;
        }

        public Criteria andRuleTitleNotLike(String value) {
            addCriterion("rule_title not like", value, "ruleTitle");
            return (Criteria) this;
        }

        public Criteria andRuleTitleIn(List<String> values) {
            addCriterion("rule_title in", values, "ruleTitle");
            return (Criteria) this;
        }

        public Criteria andRuleTitleNotIn(List<String> values) {
            addCriterion("rule_title not in", values, "ruleTitle");
            return (Criteria) this;
        }

        public Criteria andRuleTitleBetween(String value1, String value2) {
            addCriterion("rule_title between", value1, value2, "ruleTitle");
            return (Criteria) this;
        }

        public Criteria andRuleTitleNotBetween(String value1, String value2) {
            addCriterion("rule_title not between", value1, value2, "ruleTitle");
            return (Criteria) this;
        }

        public Criteria andOrderNumberIsNull() {
            addCriterion("order_number is null");
            return (Criteria) this;
        }

        public Criteria andOrderNumberIsNotNull() {
            addCriterion("order_number is not null");
            return (Criteria) this;
        }

        public Criteria andOrderNumberEqualTo(String value) {
            addCriterion("order_number =", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberNotEqualTo(String value) {
            addCriterion("order_number <>", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberGreaterThan(String value) {
            addCriterion("order_number >", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberGreaterThanOrEqualTo(String value) {
            addCriterion("order_number >=", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberLessThan(String value) {
            addCriterion("order_number <", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberLessThanOrEqualTo(String value) {
            addCriterion("order_number <=", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberLike(String value) {
            addCriterion("order_number like", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberNotLike(String value) {
            addCriterion("order_number not like", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberIn(List<String> values) {
            addCriterion("order_number in", values, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberNotIn(List<String> values) {
            addCriterion("order_number not in", values, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberBetween(String value1, String value2) {
            addCriterion("order_number between", value1, value2, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberNotBetween(String value1, String value2) {
            addCriterion("order_number not between", value1, value2, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andChangeProductCodeIsNull() {
            addCriterion("change_product_code is null");
            return (Criteria) this;
        }

        public Criteria andChangeProductCodeIsNotNull() {
            addCriterion("change_product_code is not null");
            return (Criteria) this;
        }

        public Criteria andChangeProductCodeEqualTo(String value) {
            addCriterion("change_product_code =", value, "changeProductCode");
            return (Criteria) this;
        }

        public Criteria andChangeProductCodeNotEqualTo(String value) {
            addCriterion("change_product_code <>", value, "changeProductCode");
            return (Criteria) this;
        }

        public Criteria andChangeProductCodeGreaterThan(String value) {
            addCriterion("change_product_code >", value, "changeProductCode");
            return (Criteria) this;
        }

        public Criteria andChangeProductCodeGreaterThanOrEqualTo(String value) {
            addCriterion("change_product_code >=", value, "changeProductCode");
            return (Criteria) this;
        }

        public Criteria andChangeProductCodeLessThan(String value) {
            addCriterion("change_product_code <", value, "changeProductCode");
            return (Criteria) this;
        }

        public Criteria andChangeProductCodeLessThanOrEqualTo(String value) {
            addCriterion("change_product_code <=", value, "changeProductCode");
            return (Criteria) this;
        }

        public Criteria andChangeProductCodeLike(String value) {
            addCriterion("change_product_code like", value, "changeProductCode");
            return (Criteria) this;
        }

        public Criteria andChangeProductCodeNotLike(String value) {
            addCriterion("change_product_code not like", value, "changeProductCode");
            return (Criteria) this;
        }

        public Criteria andChangeProductCodeIn(List<String> values) {
            addCriterion("change_product_code in", values, "changeProductCode");
            return (Criteria) this;
        }

        public Criteria andChangeProductCodeNotIn(List<String> values) {
            addCriterion("change_product_code not in", values, "changeProductCode");
            return (Criteria) this;
        }

        public Criteria andChangeProductCodeBetween(String value1, String value2) {
            addCriterion("change_product_code between", value1, value2, "changeProductCode");
            return (Criteria) this;
        }

        public Criteria andChangeProductCodeNotBetween(String value1, String value2) {
            addCriterion("change_product_code not between", value1, value2, "changeProductCode");
            return (Criteria) this;
        }

        public Criteria andFinishOrderProductNumIsNull() {
            addCriterion("finish_order_product_num is null");
            return (Criteria) this;
        }

        public Criteria andFinishOrderProductNumIsNotNull() {
            addCriterion("finish_order_product_num is not null");
            return (Criteria) this;
        }

        public Criteria andFinishOrderProductNumEqualTo(String value) {
            addCriterion("finish_order_product_num =", value, "finishOrderProductNum");
            return (Criteria) this;
        }

        public Criteria andFinishOrderProductNumNotEqualTo(String value) {
            addCriterion("finish_order_product_num <>", value, "finishOrderProductNum");
            return (Criteria) this;
        }

        public Criteria andFinishOrderProductNumGreaterThan(String value) {
            addCriterion("finish_order_product_num >", value, "finishOrderProductNum");
            return (Criteria) this;
        }

        public Criteria andFinishOrderProductNumGreaterThanOrEqualTo(String value) {
            addCriterion("finish_order_product_num >=", value, "finishOrderProductNum");
            return (Criteria) this;
        }

        public Criteria andFinishOrderProductNumLessThan(String value) {
            addCriterion("finish_order_product_num <", value, "finishOrderProductNum");
            return (Criteria) this;
        }

        public Criteria andFinishOrderProductNumLessThanOrEqualTo(String value) {
            addCriterion("finish_order_product_num <=", value, "finishOrderProductNum");
            return (Criteria) this;
        }

        public Criteria andFinishOrderProductNumLike(String value) {
            addCriterion("finish_order_product_num like", value, "finishOrderProductNum");
            return (Criteria) this;
        }

        public Criteria andFinishOrderProductNumNotLike(String value) {
            addCriterion("finish_order_product_num not like", value, "finishOrderProductNum");
            return (Criteria) this;
        }

        public Criteria andFinishOrderProductNumIn(List<String> values) {
            addCriterion("finish_order_product_num in", values, "finishOrderProductNum");
            return (Criteria) this;
        }

        public Criteria andFinishOrderProductNumNotIn(List<String> values) {
            addCriterion("finish_order_product_num not in", values, "finishOrderProductNum");
            return (Criteria) this;
        }

        public Criteria andFinishOrderProductNumBetween(String value1, String value2) {
            addCriterion("finish_order_product_num between", value1, value2, "finishOrderProductNum");
            return (Criteria) this;
        }

        public Criteria andFinishOrderProductNumNotBetween(String value1, String value2) {
            addCriterion("finish_order_product_num not between", value1, value2, "finishOrderProductNum");
            return (Criteria) this;
        }

        public Criteria andFinishProductNameIsNull() {
            addCriterion("finish_product_name is null");
            return (Criteria) this;
        }

        public Criteria andFinishProductNameIsNotNull() {
            addCriterion("finish_product_name is not null");
            return (Criteria) this;
        }

        public Criteria andFinishProductNameEqualTo(String value) {
            addCriterion("finish_product_name =", value, "finishProductName");
            return (Criteria) this;
        }

        public Criteria andFinishProductNameNotEqualTo(String value) {
            addCriterion("finish_product_name <>", value, "finishProductName");
            return (Criteria) this;
        }

        public Criteria andFinishProductNameGreaterThan(String value) {
            addCriterion("finish_product_name >", value, "finishProductName");
            return (Criteria) this;
        }

        public Criteria andFinishProductNameGreaterThanOrEqualTo(String value) {
            addCriterion("finish_product_name >=", value, "finishProductName");
            return (Criteria) this;
        }

        public Criteria andFinishProductNameLessThan(String value) {
            addCriterion("finish_product_name <", value, "finishProductName");
            return (Criteria) this;
        }

        public Criteria andFinishProductNameLessThanOrEqualTo(String value) {
            addCriterion("finish_product_name <=", value, "finishProductName");
            return (Criteria) this;
        }

        public Criteria andFinishProductNameLike(String value) {
            addCriterion("finish_product_name like", value, "finishProductName");
            return (Criteria) this;
        }

        public Criteria andFinishProductNameNotLike(String value) {
            addCriterion("finish_product_name not like", value, "finishProductName");
            return (Criteria) this;
        }

        public Criteria andFinishProductNameIn(List<String> values) {
            addCriterion("finish_product_name in", values, "finishProductName");
            return (Criteria) this;
        }

        public Criteria andFinishProductNameNotIn(List<String> values) {
            addCriterion("finish_product_name not in", values, "finishProductName");
            return (Criteria) this;
        }

        public Criteria andFinishProductNameBetween(String value1, String value2) {
            addCriterion("finish_product_name between", value1, value2, "finishProductName");
            return (Criteria) this;
        }

        public Criteria andFinishProductNameNotBetween(String value1, String value2) {
            addCriterion("finish_product_name not between", value1, value2, "finishProductName");
            return (Criteria) this;
        }

        public Criteria andCompanyIdIsNull() {
            addCriterion("company_id is null");
            return (Criteria) this;
        }

        public Criteria andCompanyIdIsNotNull() {
            addCriterion("company_id is not null");
            return (Criteria) this;
        }

        public Criteria andCompanyIdEqualTo(String value) {
            addCriterion("company_id =", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdNotEqualTo(String value) {
            addCriterion("company_id <>", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdGreaterThan(String value) {
            addCriterion("company_id >", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdGreaterThanOrEqualTo(String value) {
            addCriterion("company_id >=", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdLessThan(String value) {
            addCriterion("company_id <", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdLessThanOrEqualTo(String value) {
            addCriterion("company_id <=", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdLike(String value) {
            addCriterion("company_id like", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdNotLike(String value) {
            addCriterion("company_id not like", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdIn(List<String> values) {
            addCriterion("company_id in", values, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdNotIn(List<String> values) {
            addCriterion("company_id not in", values, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdBetween(String value1, String value2) {
            addCriterion("company_id between", value1, value2, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdNotBetween(String value1, String value2) {
            addCriterion("company_id not between", value1, value2, "companyId");
            return (Criteria) this;
        }

        public Criteria andContractNumberIsNull() {
            addCriterion("contract_number is null");
            return (Criteria) this;
        }

        public Criteria andContractNumberIsNotNull() {
            addCriterion("contract_number is not null");
            return (Criteria) this;
        }

        public Criteria andContractNumberEqualTo(String value) {
            addCriterion("contract_number =", value, "contractNumber");
            return (Criteria) this;
        }

        public Criteria andContractNumberNotEqualTo(String value) {
            addCriterion("contract_number <>", value, "contractNumber");
            return (Criteria) this;
        }

        public Criteria andContractNumberGreaterThan(String value) {
            addCriterion("contract_number >", value, "contractNumber");
            return (Criteria) this;
        }

        public Criteria andContractNumberGreaterThanOrEqualTo(String value) {
            addCriterion("contract_number >=", value, "contractNumber");
            return (Criteria) this;
        }

        public Criteria andContractNumberLessThan(String value) {
            addCriterion("contract_number <", value, "contractNumber");
            return (Criteria) this;
        }

        public Criteria andContractNumberLessThanOrEqualTo(String value) {
            addCriterion("contract_number <=", value, "contractNumber");
            return (Criteria) this;
        }

        public Criteria andContractNumberLike(String value) {
            addCriterion("contract_number like", value, "contractNumber");
            return (Criteria) this;
        }

        public Criteria andContractNumberNotLike(String value) {
            addCriterion("contract_number not like", value, "contractNumber");
            return (Criteria) this;
        }

        public Criteria andContractNumberIn(List<String> values) {
            addCriterion("contract_number in", values, "contractNumber");
            return (Criteria) this;
        }

        public Criteria andContractNumberNotIn(List<String> values) {
            addCriterion("contract_number not in", values, "contractNumber");
            return (Criteria) this;
        }

        public Criteria andContractNumberBetween(String value1, String value2) {
            addCriterion("contract_number between", value1, value2, "contractNumber");
            return (Criteria) this;
        }

        public Criteria andContractNumberNotBetween(String value1, String value2) {
            addCriterion("contract_number not between", value1, value2, "contractNumber");
            return (Criteria) this;
        }

        public Criteria andCompanyNameIsNull() {
            addCriterion("company_name is null");
            return (Criteria) this;
        }

        public Criteria andCompanyNameIsNotNull() {
            addCriterion("company_name is not null");
            return (Criteria) this;
        }

        public Criteria andCompanyNameEqualTo(String value) {
            addCriterion("company_name =", value, "companyName");
            return (Criteria) this;
        }

        public Criteria andCompanyNameNotEqualTo(String value) {
            addCriterion("company_name <>", value, "companyName");
            return (Criteria) this;
        }

        public Criteria andCompanyNameGreaterThan(String value) {
            addCriterion("company_name >", value, "companyName");
            return (Criteria) this;
        }

        public Criteria andCompanyNameGreaterThanOrEqualTo(String value) {
            addCriterion("company_name >=", value, "companyName");
            return (Criteria) this;
        }

        public Criteria andCompanyNameLessThan(String value) {
            addCriterion("company_name <", value, "companyName");
            return (Criteria) this;
        }

        public Criteria andCompanyNameLessThanOrEqualTo(String value) {
            addCriterion("company_name <=", value, "companyName");
            return (Criteria) this;
        }

        public Criteria andCompanyNameLike(String value) {
            addCriterion("company_name like", value, "companyName");
            return (Criteria) this;
        }

        public Criteria andCompanyNameNotLike(String value) {
            addCriterion("company_name not like", value, "companyName");
            return (Criteria) this;
        }

        public Criteria andCompanyNameIn(List<String> values) {
            addCriterion("company_name in", values, "companyName");
            return (Criteria) this;
        }

        public Criteria andCompanyNameNotIn(List<String> values) {
            addCriterion("company_name not in", values, "companyName");
            return (Criteria) this;
        }

        public Criteria andCompanyNameBetween(String value1, String value2) {
            addCriterion("company_name between", value1, value2, "companyName");
            return (Criteria) this;
        }

        public Criteria andCompanyNameNotBetween(String value1, String value2) {
            addCriterion("company_name not between", value1, value2, "companyName");
            return (Criteria) this;
        }

        public Criteria andExamineIsNull() {
            addCriterion("examine is null");
            return (Criteria) this;
        }

        public Criteria andExamineIsNotNull() {
            addCriterion("examine is not null");
            return (Criteria) this;
        }

        public Criteria andExamineEqualTo(String value) {
            addCriterion("examine =", value, "examine");
            return (Criteria) this;
        }

        public Criteria andExamineNotEqualTo(String value) {
            addCriterion("examine <>", value, "examine");
            return (Criteria) this;
        }

        public Criteria andExamineGreaterThan(String value) {
            addCriterion("examine >", value, "examine");
            return (Criteria) this;
        }

        public Criteria andExamineGreaterThanOrEqualTo(String value) {
            addCriterion("examine >=", value, "examine");
            return (Criteria) this;
        }

        public Criteria andExamineLessThan(String value) {
            addCriterion("examine <", value, "examine");
            return (Criteria) this;
        }

        public Criteria andExamineLessThanOrEqualTo(String value) {
            addCriterion("examine <=", value, "examine");
            return (Criteria) this;
        }

        public Criteria andExamineLike(String value) {
            addCriterion("examine like", value, "examine");
            return (Criteria) this;
        }

        public Criteria andExamineNotLike(String value) {
            addCriterion("examine not like", value, "examine");
            return (Criteria) this;
        }

        public Criteria andExamineIn(List<String> values) {
            addCriterion("examine in", values, "examine");
            return (Criteria) this;
        }

        public Criteria andExamineNotIn(List<String> values) {
            addCriterion("examine not in", values, "examine");
            return (Criteria) this;
        }

        public Criteria andExamineBetween(String value1, String value2) {
            addCriterion("examine between", value1, value2, "examine");
            return (Criteria) this;
        }

        public Criteria andExamineNotBetween(String value1, String value2) {
            addCriterion("examine not between", value1, value2, "examine");
            return (Criteria) this;
        }

        public Criteria andUploadIdIsNull() {
            addCriterion("upload_id is null");
            return (Criteria) this;
        }

        public Criteria andUploadIdIsNotNull() {
            addCriterion("upload_id is not null");
            return (Criteria) this;
        }

        public Criteria andUploadIdEqualTo(String value) {
            addCriterion("upload_id =", value, "uploadId");
            return (Criteria) this;
        }

        public Criteria andUploadIdNotEqualTo(String value) {
            addCriterion("upload_id <>", value, "uploadId");
            return (Criteria) this;
        }

        public Criteria andUploadIdGreaterThan(String value) {
            addCriterion("upload_id >", value, "uploadId");
            return (Criteria) this;
        }

        public Criteria andUploadIdGreaterThanOrEqualTo(String value) {
            addCriterion("upload_id >=", value, "uploadId");
            return (Criteria) this;
        }

        public Criteria andUploadIdLessThan(String value) {
            addCriterion("upload_id <", value, "uploadId");
            return (Criteria) this;
        }

        public Criteria andUploadIdLessThanOrEqualTo(String value) {
            addCriterion("upload_id <=", value, "uploadId");
            return (Criteria) this;
        }

        public Criteria andUploadIdLike(String value) {
            addCriterion("upload_id like", value, "uploadId");
            return (Criteria) this;
        }

        public Criteria andUploadIdNotLike(String value) {
            addCriterion("upload_id not like", value, "uploadId");
            return (Criteria) this;
        }

        public Criteria andUploadIdIn(List<String> values) {
            addCriterion("upload_id in", values, "uploadId");
            return (Criteria) this;
        }

        public Criteria andUploadIdNotIn(List<String> values) {
            addCriterion("upload_id not in", values, "uploadId");
            return (Criteria) this;
        }

        public Criteria andUploadIdBetween(String value1, String value2) {
            addCriterion("upload_id between", value1, value2, "uploadId");
            return (Criteria) this;
        }

        public Criteria andUploadIdNotBetween(String value1, String value2) {
            addCriterion("upload_id not between", value1, value2, "uploadId");
            return (Criteria) this;
        }

        public Criteria andChangeCourseTypeIsNull() {
            addCriterion("change_course_type is null");
            return (Criteria) this;
        }

        public Criteria andChangeCourseTypeIsNotNull() {
            addCriterion("change_course_type is not null");
            return (Criteria) this;
        }

        public Criteria andChangeCourseTypeEqualTo(String value) {
            addCriterion("change_course_type =", value, "changeCourseType");
            return (Criteria) this;
        }

        public Criteria andChangeCourseTypeNotEqualTo(String value) {
            addCriterion("change_course_type <>", value, "changeCourseType");
            return (Criteria) this;
        }

        public Criteria andChangeCourseTypeGreaterThan(String value) {
            addCriterion("change_course_type >", value, "changeCourseType");
            return (Criteria) this;
        }

        public Criteria andChangeCourseTypeGreaterThanOrEqualTo(String value) {
            addCriterion("change_course_type >=", value, "changeCourseType");
            return (Criteria) this;
        }

        public Criteria andChangeCourseTypeLessThan(String value) {
            addCriterion("change_course_type <", value, "changeCourseType");
            return (Criteria) this;
        }

        public Criteria andChangeCourseTypeLessThanOrEqualTo(String value) {
            addCriterion("change_course_type <=", value, "changeCourseType");
            return (Criteria) this;
        }

        public Criteria andChangeCourseTypeLike(String value) {
            addCriterion("change_course_type like", value, "changeCourseType");
            return (Criteria) this;
        }

        public Criteria andChangeCourseTypeNotLike(String value) {
            addCriterion("change_course_type not like", value, "changeCourseType");
            return (Criteria) this;
        }

        public Criteria andChangeCourseTypeIn(List<String> values) {
            addCriterion("change_course_type in", values, "changeCourseType");
            return (Criteria) this;
        }

        public Criteria andChangeCourseTypeNotIn(List<String> values) {
            addCriterion("change_course_type not in", values, "changeCourseType");
            return (Criteria) this;
        }

        public Criteria andChangeCourseTypeBetween(String value1, String value2) {
            addCriterion("change_course_type between", value1, value2, "changeCourseType");
            return (Criteria) this;
        }

        public Criteria andChangeCourseTypeNotBetween(String value1, String value2) {
            addCriterion("change_course_type not between", value1, value2, "changeCourseType");
            return (Criteria) this;
        }

        public Criteria andFinishOrderProductIdIsNull() {
            addCriterion("finish_order_product_id is null");
            return (Criteria) this;
        }

        public Criteria andFinishOrderProductIdIsNotNull() {
            addCriterion("finish_order_product_id is not null");
            return (Criteria) this;
        }

        public Criteria andFinishOrderProductIdEqualTo(String value) {
            addCriterion("finish_order_product_id =", value, "finishOrderProductId");
            return (Criteria) this;
        }

        public Criteria andFinishOrderProductIdNotEqualTo(String value) {
            addCriterion("finish_order_product_id <>", value, "finishOrderProductId");
            return (Criteria) this;
        }

        public Criteria andFinishOrderProductIdGreaterThan(String value) {
            addCriterion("finish_order_product_id >", value, "finishOrderProductId");
            return (Criteria) this;
        }

        public Criteria andFinishOrderProductIdGreaterThanOrEqualTo(String value) {
            addCriterion("finish_order_product_id >=", value, "finishOrderProductId");
            return (Criteria) this;
        }

        public Criteria andFinishOrderProductIdLessThan(String value) {
            addCriterion("finish_order_product_id <", value, "finishOrderProductId");
            return (Criteria) this;
        }

        public Criteria andFinishOrderProductIdLessThanOrEqualTo(String value) {
            addCriterion("finish_order_product_id <=", value, "finishOrderProductId");
            return (Criteria) this;
        }

        public Criteria andFinishOrderProductIdLike(String value) {
            addCriterion("finish_order_product_id like", value, "finishOrderProductId");
            return (Criteria) this;
        }

        public Criteria andFinishOrderProductIdNotLike(String value) {
            addCriterion("finish_order_product_id not like", value, "finishOrderProductId");
            return (Criteria) this;
        }

        public Criteria andFinishOrderProductIdIn(List<String> values) {
            addCriterion("finish_order_product_id in", values, "finishOrderProductId");
            return (Criteria) this;
        }

        public Criteria andFinishOrderProductIdNotIn(List<String> values) {
            addCriterion("finish_order_product_id not in", values, "finishOrderProductId");
            return (Criteria) this;
        }

        public Criteria andFinishOrderProductIdBetween(String value1, String value2) {
            addCriterion("finish_order_product_id between", value1, value2, "finishOrderProductId");
            return (Criteria) this;
        }

        public Criteria andFinishOrderProductIdNotBetween(String value1, String value2) {
            addCriterion("finish_order_product_id not between", value1, value2, "finishOrderProductId");
            return (Criteria) this;
        }

        public Criteria andProductIdIsNull() {
            addCriterion("product_id is null");
            return (Criteria) this;
        }

        public Criteria andProductIdIsNotNull() {
            addCriterion("product_id is not null");
            return (Criteria) this;
        }

        public Criteria andProductIdEqualTo(String value) {
            addCriterion("product_id =", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdNotEqualTo(String value) {
            addCriterion("product_id <>", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdGreaterThan(String value) {
            addCriterion("product_id >", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdGreaterThanOrEqualTo(String value) {
            addCriterion("product_id >=", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdLessThan(String value) {
            addCriterion("product_id <", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdLessThanOrEqualTo(String value) {
            addCriterion("product_id <=", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdLike(String value) {
            addCriterion("product_id like", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdNotLike(String value) {
            addCriterion("product_id not like", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdIn(List<String> values) {
            addCriterion("product_id in", values, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdNotIn(List<String> values) {
            addCriterion("product_id not in", values, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdBetween(String value1, String value2) {
            addCriterion("product_id between", value1, value2, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdNotBetween(String value1, String value2) {
            addCriterion("product_id not between", value1, value2, "productId");
            return (Criteria) this;
        }

        public Criteria andGdbChangeXcchIsNull() {
            addCriterion("gdb_change_xcch is null");
            return (Criteria) this;
        }

        public Criteria andGdbChangeXcchIsNotNull() {
            addCriterion("gdb_change_xcch is not null");
            return (Criteria) this;
        }

        public Criteria andGdbChangeXcchEqualTo(String value) {
            addCriterion("gdb_change_xcch =", value, "gdbChangeXcch");
            return (Criteria) this;
        }

        public Criteria andGdbChangeXcchNotEqualTo(String value) {
            addCriterion("gdb_change_xcch <>", value, "gdbChangeXcch");
            return (Criteria) this;
        }

        public Criteria andGdbChangeXcchGreaterThan(String value) {
            addCriterion("gdb_change_xcch >", value, "gdbChangeXcch");
            return (Criteria) this;
        }

        public Criteria andGdbChangeXcchGreaterThanOrEqualTo(String value) {
            addCriterion("gdb_change_xcch >=", value, "gdbChangeXcch");
            return (Criteria) this;
        }

        public Criteria andGdbChangeXcchLessThan(String value) {
            addCriterion("gdb_change_xcch <", value, "gdbChangeXcch");
            return (Criteria) this;
        }

        public Criteria andGdbChangeXcchLessThanOrEqualTo(String value) {
            addCriterion("gdb_change_xcch <=", value, "gdbChangeXcch");
            return (Criteria) this;
        }

        public Criteria andGdbChangeXcchLike(String value) {
            addCriterion("gdb_change_xcch like", value, "gdbChangeXcch");
            return (Criteria) this;
        }

        public Criteria andGdbChangeXcchNotLike(String value) {
            addCriterion("gdb_change_xcch not like", value, "gdbChangeXcch");
            return (Criteria) this;
        }

        public Criteria andGdbChangeXcchIn(List<String> values) {
            addCriterion("gdb_change_xcch in", values, "gdbChangeXcch");
            return (Criteria) this;
        }

        public Criteria andGdbChangeXcchNotIn(List<String> values) {
            addCriterion("gdb_change_xcch not in", values, "gdbChangeXcch");
            return (Criteria) this;
        }

        public Criteria andGdbChangeXcchBetween(String value1, String value2) {
            addCriterion("gdb_change_xcch between", value1, value2, "gdbChangeXcch");
            return (Criteria) this;
        }

        public Criteria andGdbChangeXcchNotBetween(String value1, String value2) {
            addCriterion("gdb_change_xcch not between", value1, value2, "gdbChangeXcch");
            return (Criteria) this;
        }

        public Criteria andRemarksIsNull() {
            addCriterion("remarks is null");
            return (Criteria) this;
        }

        public Criteria andRemarksIsNotNull() {
            addCriterion("remarks is not null");
            return (Criteria) this;
        }

        public Criteria andRemarksEqualTo(String value) {
            addCriterion("remarks =", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotEqualTo(String value) {
            addCriterion("remarks <>", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksGreaterThan(String value) {
            addCriterion("remarks >", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksGreaterThanOrEqualTo(String value) {
            addCriterion("remarks >=", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLessThan(String value) {
            addCriterion("remarks <", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLessThanOrEqualTo(String value) {
            addCriterion("remarks <=", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLike(String value) {
            addCriterion("remarks like", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotLike(String value) {
            addCriterion("remarks not like", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksIn(List<String> values) {
            addCriterion("remarks in", values, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotIn(List<String> values) {
            addCriterion("remarks not in", values, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksBetween(String value1, String value2) {
            addCriterion("remarks between", value1, value2, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotBetween(String value1, String value2) {
            addCriterion("remarks not between", value1, value2, "remarks");
            return (Criteria) this;
        }

        public Criteria andApproverIdIsNull() {
            addCriterion("approver_id is null");
            return (Criteria) this;
        }

        public Criteria andApproverIdIsNotNull() {
            addCriterion("approver_id is not null");
            return (Criteria) this;
        }

        public Criteria andApproverIdEqualTo(String value) {
            addCriterion("approver_id =", value, "approverId");
            return (Criteria) this;
        }

        public Criteria andApproverIdNotEqualTo(String value) {
            addCriterion("approver_id <>", value, "approverId");
            return (Criteria) this;
        }

        public Criteria andApproverIdGreaterThan(String value) {
            addCriterion("approver_id >", value, "approverId");
            return (Criteria) this;
        }

        public Criteria andApproverIdGreaterThanOrEqualTo(String value) {
            addCriterion("approver_id >=", value, "approverId");
            return (Criteria) this;
        }

        public Criteria andApproverIdLessThan(String value) {
            addCriterion("approver_id <", value, "approverId");
            return (Criteria) this;
        }

        public Criteria andApproverIdLessThanOrEqualTo(String value) {
            addCriterion("approver_id <=", value, "approverId");
            return (Criteria) this;
        }

        public Criteria andApproverIdLike(String value) {
            addCriterion("approver_id like", value, "approverId");
            return (Criteria) this;
        }

        public Criteria andApproverIdNotLike(String value) {
            addCriterion("approver_id not like", value, "approverId");
            return (Criteria) this;
        }

        public Criteria andApproverIdIn(List<String> values) {
            addCriterion("approver_id in", values, "approverId");
            return (Criteria) this;
        }

        public Criteria andApproverIdNotIn(List<String> values) {
            addCriterion("approver_id not in", values, "approverId");
            return (Criteria) this;
        }

        public Criteria andApproverIdBetween(String value1, String value2) {
            addCriterion("approver_id between", value1, value2, "approverId");
            return (Criteria) this;
        }

        public Criteria andApproverIdNotBetween(String value1, String value2) {
            addCriterion("approver_id not between", value1, value2, "approverId");
            return (Criteria) this;
        }

        public Criteria andProductTypeIsNull() {
            addCriterion("product_type is null");
            return (Criteria) this;
        }

        public Criteria andProductTypeIsNotNull() {
            addCriterion("product_type is not null");
            return (Criteria) this;
        }

        public Criteria andProductTypeEqualTo(String value) {
            addCriterion("product_type =", value, "productType");
            return (Criteria) this;
        }

        public Criteria andProductTypeNotEqualTo(String value) {
            addCriterion("product_type <>", value, "productType");
            return (Criteria) this;
        }

        public Criteria andProductTypeGreaterThan(String value) {
            addCriterion("product_type >", value, "productType");
            return (Criteria) this;
        }

        public Criteria andProductTypeGreaterThanOrEqualTo(String value) {
            addCriterion("product_type >=", value, "productType");
            return (Criteria) this;
        }

        public Criteria andProductTypeLessThan(String value) {
            addCriterion("product_type <", value, "productType");
            return (Criteria) this;
        }

        public Criteria andProductTypeLessThanOrEqualTo(String value) {
            addCriterion("product_type <=", value, "productType");
            return (Criteria) this;
        }

        public Criteria andProductTypeLike(String value) {
            addCriterion("product_type like", value, "productType");
            return (Criteria) this;
        }

        public Criteria andProductTypeNotLike(String value) {
            addCriterion("product_type not like", value, "productType");
            return (Criteria) this;
        }

        public Criteria andProductTypeIn(List<String> values) {
            addCriterion("product_type in", values, "productType");
            return (Criteria) this;
        }

        public Criteria andProductTypeNotIn(List<String> values) {
            addCriterion("product_type not in", values, "productType");
            return (Criteria) this;
        }

        public Criteria andProductTypeBetween(String value1, String value2) {
            addCriterion("product_type between", value1, value2, "productType");
            return (Criteria) this;
        }

        public Criteria andProductTypeNotBetween(String value1, String value2) {
            addCriterion("product_type not between", value1, value2, "productType");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}